﻿using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Xml;
using Navigant.Infrastructure.Cases;

namespace Navigant.Infrastructure.ClientPortals
{
    public interface IClientPortal
    {
        Guid Id { get; }
        string Name { get; }
        string OwnerEmail { get; }
        string SecondaryContactEmail { get; }
        Uri SiteAddress { get; }
        IDictionary<string, string> ConfigurationSettings { get; }
        bool EmailAuthenticationNotRequired { get; }
        bool AcknowledgementsShutdown { get; }
        string AcknowledgementsShutdownMessage { get; }
        bool FixLineBreaks { get; }
        bool ShowNonPersonCustodiansInNoticeSending { get; }
        ReadOnlyCollection<ICase> Cases { get; }
        string PeopleImportConnectionString { get; }
        string PeopleImportProfileMappings { get; }
        string CustodianTerminatedFieldName { get; }
        bool DoNotSendToTerminatedCustodians { get; }
        string DefaultFromEmailAddress { get; }
        void SaveXmlFileToReportsDocumentLibrary(XmlDocument document, string fileName);
    }
}
